package edu.ccut.saturn.component;

import java.util.List;

/**
 * 定义了bundle中的菜单信息的操作接口。
 * 
 * @author 谷钰
 * @version 1.0 2008.9.09
 * 
 * @see IMuneItemInfo
 */
public interface IMenuInfo {
	
	/**
	 * 获得所在的bundle名称
	 * 
	 * @return
	 */
	public String getBundleSymbolicName();
	
	/**
	 * 设置bundle名称
	 * 
	 * @param bundlesSymbolicName
	 */
	public void setBundleSymbolicName(String bundlesSymbolicName);
	
	/**
	 * 获得菜单项信息
	 * 
	 * @return
	 */
	public List<IMuneItemInfo> getMenuItemInfos();
	
	/**
	 * 设置菜单项信息
	 * 
	 * @param menuItemInfos
	 */
	public void initMenuInfo(List<IMuneItemInfo> menuItemInfos);
	
	/**
	 * 获得所有的根菜单项
	 * 
	 * @return
	 */
	public List<IMuneItemInfo> getRootMenuItemInfos();
	
	/**
	 * 获得指定的菜单的子菜单列表
	 * 
	 * @param parentId
	 * @return
	 */
	public List<IMuneItemInfo> getChildrenMenuItemInfos(String parentId);
}
